4.2.7.1 上报自定义用户状态
在【业务管理/对象管理/自定义变量】中创建自定义变量,并在上线准入策略/应用防护策略中配置对应的条件后,可通过此接口上报自定义用户状态,实现在用户登录/访问应用时自动根据自定义用户状态进行处置(接口适用于 v2.6.4 及以上版本)。
基本信息
请求地址:
https://SDPC-IP:4433/api/v3/user/reportStatus请求方式:
POST
请求头(Header)
- 请求体(Body)
| 参数 | 中文名称 | 必须 | 类型 | 描述 |
|---|---|---|---|---|
| reports | 所有上报状态 | 是 | array | 所有上报状态,每一条数据代表一个用户的风险状态,单个请求最多支持1000条数据 |
| ├─ userId | 用户id | 否 | string | 用户id,用于指定唯一用户;可选userid与(name+domain)两种指定用户方式,二选一,至少使用一种方式。同时存在时以userid优匹配 |
| ├─ name | 用户名 | 否 | string | 用户名,结合 domain 使用,name和domain必须同时传,用于指定唯一用户,(name+domain)与userid两种指定用户的方式至少用一种。同时存在时以userid优先匹配 |
| ├─ domain | 用户所属用户目录唯一标识 | 否 | string | 用户所属用户目录的唯一标识,结合 name 使用,name和domain必须同时传,用于指定唯一用户 |
| ├─ status | 单个用户上报状态 | 是 | array | 单个用户的风险状态,每一条数据代表一个变量及状态值 |
| ├─├─ type | 上报变量名 | 是 | string | 对应自定义变量的条件英文名(无需携带固定前缀) |
| ├─├─ value | 上报变量值 | 是 | bool | 变量值 |
- 请求示例
curl --location --request POST 'https://SDPC-IP:4433/api/v3/user/reportStatus?lang=zh-CN' \
--header 'Content-Type: application/json' \
--header 'X-Ca-Key: X-Ca-Key' \
--header 'X-Ca-Nonce: X-Ca-Nonce' \
--header 'X-Ca-TimeStamp: X-Ca-TimeStamp' \
--header 'X-Ca-Sign: X-Ca-Sign' \
--data-raw '{
"reports": [
{
"userId": "95db145a-4bd7-441a-9409-56c6de5cbb8f",
"status": [{
"type": "isValid",
"value": true
}]
}, {
"name": "张三",
"domain": "local",
"status": [{
"type": "leak",
"value": false
}]
}
]
}'
- 返回数据
| 参数 | 中文名称 | 类型 | 描述 |
|---|---|---|---|
| code | 响应码 | string | OK 表示成功,其他表示出错。具体含义请参考错误码定义 |
| data | 响应数据 | object | |
| ├─ failedUsers | 上报失败用户 | array | 上报失败用户列表 |
| ├─├─ userId | 用户id | string | 请求传了该参数,则返回该参数;否则不会返回 |
| ├─├─ name | 用户名 | string | 请求传了该参数,则返回该参数;否则不会返回 |
| ├─├─ domain | 用户所属用户目录唯一标识 | string | 请求传了该参数,则返回该参数;否则不会返回 |
| ├─├─ reason | 失败原因 | string | 取值范围: - userNotExist-用户不存在 - typeInvalid-上报状态类型不存在 - internalError-内部错误(比如数据库抖动等导致失败,这部分失败数据可以尝试重新上报) |
| ├─├─ type | 上报变量类型 | string | |
| ├─ successUsers | 上报成功用户 | array | 上报成功用户列表 |
| ├─├─ userId | 用户id | string | 用户id |
| ├─├─ name | 用户名 | string | 用户名 |
| ├─├─ domain | 用户所属用户目录唯一标识 | string | 用户所属用户目录的唯一标识 |
| msg | 描述信息 | string | |
| traceId | 调用链id | string |
- 响应示例
{
"code": "OK",
"data": {
"failedUsers": [
{
"userId": "95db145a-4bd7-441a-9409-56c6de5cbb8f",
"type": "isValid",
"reason": "typeInvalid"
}
],
"successUsers": [
{
"name": "张三",
"domain": "local"
}
]
},
"msg": "请求成功",
"traceId": "00ca70c9adde821f"
}
错误码